Groovy তে ফাইল ইনপুট/আউটপুট খুবই সহজ এবং সরল। Groovy Java এর java.io
লাইব্রেরির উপর ভিত্তি করে কাজ করে, তবে এটি আরও সংক্ষিপ্ত এবং সহজ সিনট্যাক্স প্রদান করে। Groovy তে ফাইল রিডিং, রাইটিং, এবং ম্যানিপুলেশন করতে কিছু শক্তিশালী এবং নমনীয় টুলস রয়েছে। Groovy এর File
ক্লাস ব্যবহার করে সহজেই ফাইল পড়া এবং লেখা যায়, এবং স্ট্রীম বা বাফারড রিডার/রাইটার ব্যবহারের মাধ্যমে উন্নত কাজও করা যায়।
এখানে Groovy তে ফাইল ইনপুট/আউটপুট এর বিভিন্ন মৌলিক ধারণা এবং উদাহরণ আলোচনা করা হয়েছে।
Groovy তে ফাইল পড়া খুবই সহজ। আপনি File
ক্লাস ব্যবহার করে একটি ফাইলের কন্টেন্ট পড়তে পারেন।
Groovy তে File
ক্লাসের text
প্রপার্টি ব্যবহার করে একটি ফাইলের সমস্ত কন্টেন্ট এক লাইনেই পড়া সম্ভব।
def file = new File("example.txt")
println file.text
এখানে, example.txt
ফাইলটি পড়া হবে এবং তার সমস্ত কন্টেন্ট কনসোলে প্রিন্ট করা হবে।
eachLine()
মেথড ব্যবহার করে আপনি ফাইলের প্রতিটি লাইনের কন্টেন্ট আলাদাভাবে প্রসেস করতে পারেন।
def file = new File("example.txt")
file.eachLine { line ->
println line
}
এখানে, eachLine()
মেথডের মাধ্যমে ফাইলের প্রতিটি লাইন পড়া হবে এবং line
ভেরিয়েবল দিয়ে তা প্রিন্ট করা হবে।
def file = new File("example.txt")
file.eachLine { line ->
if (line.contains("Groovy")) {
println "Found Groovy: $line"
}
}
এখানে, প্রতিটি লাইনের মধ্যে "Groovy" শব্দটি খুঁজে প্রিন্ট করা হয়েছে।
Groovy তে ফাইল লেখা বেশ সহজ। File
ক্লাসের text
প্রপার্টি বা append
মেথড ব্যবহার করে নতুন কন্টেন্ট লিখা যায় বা পুরানো কন্টেন্টে যুক্ত করা যায়।
def file = new File("example.txt")
file.text = "This is Groovy file handling example."
এখানে, file.text
প্রপার্টির মাধ্যমে ফাইলে নতুন কন্টেন্ট লেখা হয়েছে। এটি পূর্ববর্তী কন্টেন্টের উপরে নতুন কন্টেন্ট লিখে ফেলবে।
যদি আপনি পুরানো কন্টেন্টের সাথে নতুন কন্টেন্ট যুক্ত করতে চান, তবে append
মেথড ব্যবহার করতে পারেন।
def file = new File("example.txt")
file.append("This is an appended line.\n")
এখানে, append
মেথড ব্যবহার করে example.txt
ফাইলে নতুন লাইন যোগ করা হয়েছে।
ফাইল লেখার সময় যদি অনেক বেশি ডেটা হ্যান্ডেল করতে হয়, তবে BufferedWriter ব্যবহার করা সুবিধাজনক।
def file = new File("example.txt")
file.withWriter { writer ->
writer.writeLine("This is buffered writing example.")
}
এখানে, withWriter
ব্লক ব্যবহার করা হয়েছে যা ফাইল লেখার জন্য একটি বাফারড রাইটার প্রদান করে।
Groovy তে ফাইল ম্যানিপুলেশন যেমন ফাইল তৈরি করা, ফাইল নাম পরিবর্তন করা, ফাইল মুছে ফেলা ইত্যাদি সহজে করা যায়।
def file = new File("newfile.txt")
file.createNewFile() // Create the file
এখানে, createNewFile()
মেথড ব্যবহার করে একটি নতুন ফাইল তৈরি করা হয়েছে।
def file = new File("example.txt")
file.renameTo(new File("newExample.txt"))
এখানে, renameTo()
মেথড ব্যবহার করে ফাইলের নাম পরিবর্তন করা হয়েছে।
def file = new File("example.txt")
file.delete() // Delete the file
এখানে, delete()
মেথড ব্যবহার করে example.txt
ফাইলটি মুছে ফেলা হয়েছে।
Groovy তে ফাইলের অস্তিত্ব এবং অন্যান্য বৈশিষ্ট্য চেক করার জন্য কিছু মেথড রয়েছে, যেমন exists(), canRead(), canWrite() ইত্যাদি।
def file = new File("example.txt")
if (file.exists()) {
println "File exists."
} else {
println "File does not exist."
}
এখানে, exists()
মেথড ব্যবহার করে চেক করা হয়েছে যে example.txt
ফাইলটি আছে কিনা।
def file = new File("example.txt")
if (file.canRead()) {
println "File is readable."
} else {
println "File is not readable."
}
if (file.canWrite()) {
println "File is writable."
} else {
println "File is not writable."
}
এখানে, canRead()
এবং canWrite()
মেথড ব্যবহার করে ফাইলটি রিডেবল এবং রাইটেবল কিনা তা চেক করা হয়েছে।
Groovy তে আপনি একটি ফাইলের কন্টেন্ট সহজেই প্রক্রিয়া করতে পারেন। যেমন, আপনি ফাইলের কন্টেন্ট থেকে বিশেষ কিছু তথ্য বের করতে পারেন বা কিছু অংশ পরিবর্তন করতে পারেন।
def file = new File("example.txt")
file.withReader { reader ->
reader.eachLine { line ->
println line
}
}
এখানে, withReader
ব্যবহার করা হয়েছে যা স্ট্রিমের মাধ্যমে ফাইল রিডিংয়ের কাজটি আরও কার্যকরীভাবে করেছে।
def file = new File("example.txt")
file.eachLine { line ->
if (line =~ /Groovy/) {
println "Found Groovy: $line"
}
}
এখানে, =~
রেগুলার এক্সপ্রেশন ব্যবহার করে ফাইলের প্রতিটি লাইনে "Groovy" শব্দটি খুঁজে প্রিন্ট করা হয়েছে।
Groovy তে ফাইল ইনপুট/আউটপুট (File I/O) খুবই সহজ এবং কার্যকরী। আপনি সহজেই ফাইল তৈরি, পড়া, লেখা এবং মুছে ফেলার মতো কার্যক্রম করতে পারেন। Groovy এর File
ক্লাস, eachLine
, text
, withWriter
, withReader
ইত্যাদি মেথড ব্যবহার করে ফাইলের উপর বিভিন্ন কার্যক্রম সম্পাদন করা সম্ভব। Groovy ফাইল হ্যান্ডলিংয়ের জন্য একটি অত্যন্ত নমনীয় এবং শক্তিশালী টুল।
Groovy তে ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখার কাজ সহজ এবং সংক্ষিপ্ত সিনট্যাক্সে করা যায়। Groovy এর File
ক্লাস ব্যবহার করে আমরা সহজেই বিভিন্ন ধরনের ফাইল অপারেশন করতে পারি, যেমন - ফাইল থেকে ডেটা পড়া, ফাইলে ডেটা লেখা, অ্যাপেন্ড করা ইত্যাদি। নিচে বিভিন্ন উদাহরণসহ ফাইল পড়া এবং লেখার পদ্ধতি দেখানো হলো।
ফাইল থেকে ডেটা পড়ার জন্য Groovy তে File
ক্লাসের .text
, .eachLine
বা .readLines()
মেথড ব্যবহার করা হয়।
.text
মেথড ব্যবহার করে সম্পূর্ণ ফাইল পড়াdef file = new File("example.txt")
def content = file.text
println content
এই উদাহরণে example.txt
ফাইলের সম্পূর্ণ কন্টেন্ট .text
প্রপার্টির মাধ্যমে একটি স্ট্রিং হিসেবে পড়ে দেখানো হচ্ছে।
.eachLine
মেথড ব্যবহার করে লাইন বাই লাইন ফাইল পড়াdef file = new File("example.txt")
file.eachLine { line ->
println line
}
.eachLine
মেথড ব্যবহার করে ফাইলের প্রতিটি লাইন একে একে পড়া যায়। এখানে line
লাম্বডা প্যারামিটারের মাধ্যমে প্রতিটি লাইনে একশন প্রয়োগ করা হয়।
.readLines()
মেথড ব্যবহার করে লাইনগুলো একটি লিস্টে পড়াdef file = new File("example.txt")
def lines = file.readLines()
println lines // Output: [Line 1, Line 2, Line 3, ...]
.readLines()
মেথড প্রতিটি লাইনকে একটি List
এর মধ্যে যুক্ত করে রিটার্ন করে।
ফাইলে ডেটা লেখার জন্য Groovy তে .write()
বা .withWriter()
মেথড ব্যবহার করা হয়।
.write()
মেথড ব্যবহার করে ফাইলে লেখাdef file = new File("example.txt")
file.write("This is a new content.")
.write()
মেথড ফাইলের পূর্বের সব কন্টেন্ট মুছে দিয়ে নতুন কন্টেন্ট লিখে। এখানে "This is a new content."
স্ট্রিং ফাইলে লেখা হয়েছে।
.withWriter()
মেথড ব্যবহার করে ফাইলে লেখাdef file = new File("example.txt")
file.withWriter('UTF-8') { writer ->
writer.writeLine("Hello, Groovy!")
writer.writeLine("Writing data to a file.")
}
.withWriter()
মেথড ব্যবহার করে ফাইলে নির্দিষ্ট এনকোডিং সহ ডেটা লেখা যায় এবং এটি মাল্টিলাইন লেখার ক্ষেত্রে সুবিধাজনক।
ফাইলে পূর্ববর্তী ডেটা মুছে না দিয়ে নতুন ডেটা যোগ করার জন্য .append()
মেথড ব্যবহার করা হয়।
.append()
মেথড ব্যবহার করে ডেটা অ্যাপেন্ড করাdef file = new File("example.txt")
file.append("This line will be appended.\n")
file.append("Adding another line.\n")
.append()
মেথড প্রতিবার কল করলে ফাইলের শেষে ডেটা যুক্ত করে। উপরের উদাহরণে, "This line will be appended."
এবং "Adding another line."
লাইন দুটি example.txt
ফাইলের শেষে যুক্ত করা হয়েছে।
Groovy তে বাইনারি ডেটা পড়া এবং লেখার জন্য .bytes
প্রপার্টি এবং .setBytes()
মেথড ব্যবহার করা হয়।
def file = new File("image.png")
byte[] data = file.bytes
println data
.bytes
প্রপার্টি ফাইলের ডেটাকে একটি বাইনারি byte[]
(বাইট অ্যারে) আকারে রিটার্ন করে।
def file = new File("copy_image.png")
byte[] data = [0x3A, 0x5B, 0x6C] // উদাহরণস্বরূপ কিছু বাইনারি ডেটা
file.setBytes(data)
.setBytes()
মেথড ব্যবহার করে বাইনারি ডেটা ফাইলে লেখা যায়।
অপারেশন | মেথড বা প্রপার্টি | বর্ণনা |
---|---|---|
ফাইল থেকে সম্পূর্ণ ডেটা পড়া | .text | ফাইলের সম্পূর্ণ ডেটা স্ট্রিং আকারে পড়ে |
লাইন বাই লাইন পড়া | .eachLine | ফাইলের প্রতিটি লাইন একে একে পড়ে |
লিস্ট হিসেবে লাইনগুলো পড়া | .readLines() | ফাইলের লাইনগুলো একটি লিস্ট হিসেবে পড়ে |
ফাইলে লেখা | .write() , .withWriter() | ফাইলে নতুন ডেটা লেখে |
ফাইলে ডেটা অ্যাপেন্ড করা | .append() | ফাইলের শেষে নতুন ডেটা যুক্ত করে |
বাইনারি ডেটা পড়া | .bytes | ফাইলের ডেটাকে বাইট অ্যারে আকারে পড়ে |
বাইনারি ডেটা লেখা | .setBytes() | বাইট অ্যারে আকারে ডেটা ফাইলে লেখে |
Groovy তে ফাইল হ্যান্ডলিং অত্যন্ত সহজ এবং সংক্ষিপ্ত সিনট্যাক্সে করা যায়, যা ডেটা পড়া, লেখা এবং অ্যাপেন্ড করার কাজে প্রোগ্রামারদের জন্য সময় সাশ্রয়ী এবং সুবিধাজনক করে তোলে।
Groovy তে File I/O Operations এবং Streams ব্যবহার করা অত্যন্ত সহজ এবং সংক্ষিপ্ত। Groovy Java এর I/O লাইব্রেরি ব্যবহার করে ফাইলের সাথে কাজ করার জন্য অনেক কার্যকরী ফিচার সরবরাহ করে। আপনি Groovy তে ফাইল তৈরি, পড়া, লেখা, এবং আপডেট করার মতো বিভিন্ন কাজ খুব সহজেই করতে পারেন।
এখানে File I/O Operations এবং Streams ব্যবহার সম্পর্কে বিস্তারিত আলোচনা করা হলো।
Groovy তে ফাইলের সাথে কাজ করার জন্য বিভিন্ন বিল্ট-ইন ক্লাস রয়েছে, যার মধ্যে সবচেয়ে জনপ্রিয় হল File
ক্লাস। Groovy এর File
ক্লাসের সাহায্যে আপনি ফাইল তৈরি, ফাইলের কন্টেন্ট পড়া এবং লেখা, ফাইলের আছড়ে পড়া ইত্যাদি কাজ করতে পারেন।
Groovy তে ফাইল তৈরি করা এবং তাতে লেখা অত্যন্ত সহজ। File
ক্লাসের text
বা append
প্রপার্টি ব্যবহার করে আপনি সহজেই ফাইলে লেখা করতে পারেন।
উদাহরণ:
def file = new File("example.txt")
file.text = "Hello, Groovy!" // ফাইলে লেখা হচ্ছে
println "File written successfully!"
এখানে:
text
প্রপার্টি ব্যবহার করে আমরা "example.txt" নামক ফাইলে টেক্সট লিখেছি।Groovy তে ফাইলের কন্টেন্ট পড়াও সহজ। আপনি text
প্রপার্টি ব্যবহার করে ফাইলের পুরো কন্টেন্ট একেবারে পড়তে পারেন।
উদাহরণ:
def file = new File("example.txt")
println file.text // ফাইলের কন্টেন্ট পড়া এবং প্রিন্ট করা
এখানে:
text
প্রপার্টি ব্যবহার করে ফাইলের পুরো কন্টেন্ট পড়া হয়েছে এবং তা কনসোল এ প্রিন্ট করা হয়েছে।ফাইলের শেষে নতুন কন্টেন্ট যোগ করতে আপনি append
প্রপার্টি ব্যবহার করতে পারেন।
উদাহরণ:
def file = new File("example.txt")
file.append("\nAppended text") // ফাইলের শেষে নতুন টেক্সট যোগ করা
println "Text appended successfully!"
এখানে:
append
ব্যবহার করে ফাইলের শেষের দিকে নতুন টেক্সট যোগ করা হয়েছে।আপনি eachLine
মেথড ব্যবহার করে ফাইলের কন্টেন্ট একেকটি লাইন হিসেবে পড়তে পারেন।
উদাহরণ:
def file = new File("example.txt")
file.eachLine { line ->
println "Line: $line"
}
এখানে:
eachLine
মেথড ব্যবহার করে ফাইলের প্রতিটি লাইন আলাদাভাবে প্রিন্ট করা হয়েছে।Groovy তে Streams ব্যবহারের মাধ্যমে আপনি বড় আকারের ডেটা পড়তে এবং লিখতে পারবেন এবং এটি অনেক কার্যকরী হতে পারে যখন আপনি ফাইল বা ডেটার স্ট্রিমিং (streaming) করতে চান। Groovy তে InputStream
এবং OutputStream
ব্যবহার করে আপনি ফাইলের ডেটা স্ট্রিমে পড়তে বা লেখতে পারবেন।
InputStream
ক্লাস ব্যবহার করে আপনি ফাইল থেকে বাইনারি ডেটা পড়তে পারেন।
উদাহরণ:
def file = new File("example.txt")
def inputStream = file.newInputStream()
def text = inputStream.text // ফাইলের কন্টেন্ট পড়া
println text
এখানে:
newInputStream()
মেথড ব্যবহার করে ফাইল থেকে বাইনারি স্ট্রিমে ডেটা পড়া হয়েছে।OutputStream
ক্লাস ব্যবহার করে আপনি বাইনারি ডেটা ফাইলে লিখতে পারেন।
উদাহরণ:
def file = new File("example.txt")
def outputStream = file.newOutputStream()
outputStream.write("Hello, Groovy!".bytes) // বাইনারি আকারে লেখা
println "Text written to file!"
এখানে:
newOutputStream()
মেথড ব্যবহার করে ফাইলে বাইনারি ডেটা লেখা হয়েছে। .bytes
দিয়ে স্ট্রিংকে বাইনারি আকারে রূপান্তরিত করা হয়েছে।Groovy তে স্ট্রিম ব্যবহারের মাধ্যমে আপনি ডেটা প্রসেসিং যেমন ফিল্টারিং, ম্যাপিং, রিডুসিং ইত্যাদি করতে পারেন। Groovy তে স্ট্রিম প্রক্রিয়াগুলির সাথে কাজ করার জন্য অনেক বিল্ট-ইন মেথড রয়েছে।
def numbers = [1, 2, 3, 4, 5, 6]
def evenNumbers = numbers.stream()
.filter { it % 2 == 0 } // filter করে শুধুমাত্র even numbers
.collect(Collectors.toList())
println evenNumbers // আউটপুট: [2, 4, 6]
এখানে:
.stream()
মেথড ব্যবহার করে একটি স্ট্রিম তৈরি করা হয়েছে।.filter()
মেথড ব্যবহার করে স্ট্রিমে থাকা even
সংখ্যাগুলিকে ফিল্টার করা হয়েছে।.collect()
মেথড ব্যবহার করে ফিল্টার করা ফলাফল একটি List এ সংগ্রহ করা হয়েছে।File
ক্লাসের মাধ্যমে।Groovy তে JSON এবং XML ডেটা প্রসেসিং খুবই সহজ, কারণ Groovy এর বিল্ট-ইন লাইব্রেরিগুলি ডেটা পার্সিং এবং ম্যানিপুলেশনের জন্য খুবই কার্যকরী এবং কোডিংয়ের জন্য কম পরিশ্রমী। Groovy তে JSON এবং XML ডেটার সঙ্গে কাজ করতে আমরা সাধারণত JsonSlurper, JsonBuilder, XmlSlurper, এবং MarkupBuilder ব্যবহার করি।
JSON (JavaScript Object Notation) একটি হালকা এবং সহজ টেক্সট-বেসড ডেটা বিনিময় ফরম্যাট, যা ওয়েব অ্যাপ্লিকেশন এবং সার্ভার-সাইড কমিউনিকেশন খুব সাধারণভাবে ব্যবহৃত হয়। Groovy তে JSON ডেটা প্রসেসিংয়ের জন্য JsonSlurper
এবং JsonBuilder
ব্যবহার করা হয়।
JsonSlurper
একটি Groovy ক্লাস যা JSON স্ট্রিং পার্স করে Groovy অবজেক্টে (যেমন: Map, List) রূপান্তরিত করে।
import groovy.json.JsonSlurper
def jsonString = '''{
"name": "John",
"age": 30,
"city": "New York"
}'''
def jsonSlurper = new JsonSlurper()
def jsonObject = jsonSlurper.parseText(jsonString)
println jsonObject.name // Output: John
println jsonObject.age // Output: 30
println jsonObject.city // Output: New York
এখানে:
JsonSlurper.parseText()
ব্যবহার করে JSON স্ট্রিংটি Groovy অবজেক্টে (যেমন: Map) রূপান্তরিত করা হয়েছে।JsonBuilder
Groovy তে JSON ডেটা নির্মাণ করতে ব্যবহৃত হয়। এটি একটি JSON স্ট্রিং তৈরি করতে সাহায্য করে।
import groovy.json.JsonBuilder
def builder = new JsonBuilder()
builder {
name "John"
age 30
city "New York"
}
println builder.toString()
আউটপুট:
{"name":"John","age":30,"city":"New York"}
এখানে:
JsonBuilder
ব্যবহার করে আমরা একটি JSON অবজেক্ট তৈরি করেছি।builder.toString()
কল করে JSON স্ট্রিং আউটপুট পেয়েছি।XML (Extensible Markup Language) হল একটি টেক্সট-বেসড ফরম্যাট যা ডেটা স্টোরেজ এবং ডেটা ট্রান্সফারের জন্য ব্যবহৃত হয়। Groovy তে XML ডেটা প্রসেসিংয়ের জন্য XmlSlurper
এবং MarkupBuilder
ব্যবহৃত হয়।
XmlSlurper
Groovy তে XML ডেটা পার্স করার জন্য ব্যবহৃত হয় এবং এটি XML ডেটাকে একটি Groovy Object এ রূপান্তর করে (যেমন: List, Map)।
import groovy.xml.XmlSlurper
def xmlString = '''<person>
<name>John</name>
<age>30</age>
<city>New York</city>
</person>'''
def xmlSlurper = new XmlSlurper()
def person = xmlSlurper.parseText(xmlString)
println person.name.text() // Output: John
println person.age.text() // Output: 30
println person.city.text() // Output: New York
এখানে:
XmlSlurper.parseText()
ব্যবহার করে XML স্ট্রিংটি Groovy অবজেক্টে রূপান্তরিত করা হয়েছে।.text()
মেথডটি XML উপাদান থেকে মূল টেক্সট বের করতে ব্যবহৃত হয়।MarkupBuilder
Groovy তে XML ডেটা তৈরি করতে ব্যবহৃত হয়। এটি একটি পরিষ্কার এবং সহজ পদ্ধতি প্রদান করে XML ডেটা গঠনের জন্য।
import groovy.xml.MarkupBuilder
def writer = new StringWriter()
def builder = new MarkupBuilder(writer)
builder.person {
name 'John'
age 30
city 'New York'
}
println writer.toString()
আউটপুট:
<person>
<name>John</name>
<age>30</age>
<city>New York</city>
</person>
এখানে:
MarkupBuilder
ব্যবহার করে একটি XML ডকুমেন্ট তৈরি করা হয়েছে এবং writer.toString()
কল করে XML আউটপুট হিসেবে পেতে সক্ষম হয়েছি।JsonSlurper
, JsonBuilder
, XmlSlurper
, এবং MarkupBuilder
লাইব্রেরি ব্যবহার করে JSON এবং XML ডেটা প্রক্রিয়া করা সহজ এবং কোড খুবই পরিষ্কার হয়।.text()
এবং .toString()
মতো মেথড রয়েছে।Groovy তে JSON এবং XML ডেটা প্রসেসিং সহজ এবং কার্যকরী। Groovy এর বিল্ট-ইন লাইব্রেরি JsonSlurper
, JsonBuilder
, XmlSlurper
, এবং MarkupBuilder
ব্যবহার করে আপনি JSON এবং XML ডেটা খুব সহজে পার্স, নির্মাণ এবং ম্যানিপুলেট করতে পারেন। Groovy তে JSON এবং XML ডেটার উপর কাজ করা Java এর তুলনায় দ্রুত এবং আরও কম কোডে করা সম্ভব।
Groovy তে Exception Handling এবং File Operations একসাথে ব্যবহৃত হতে পারে এবং এটি কোডে ত্রুটি হ্যান্ডলিং ও ফাইল ম্যানিপুলেশনকে সহজ ও কার্যকরী করে তোলে। Groovy তে Exception Handling অত্যন্ত সরল এবং শক্তিশালী, এবং Groovy এর File I/O অপারেশন Java এর ফাইল ম্যানিপুলেশন API-এর উপরে ভিত্তি করে কাজ করে। Groovy তে Exception Handling এবং File Operations একত্রে ব্যবহারের মাধ্যমে আপনি ফাইলের উপরে বিভিন্ন ধরনের কার্যক্রম করতে পারেন এবং ত্রুটিগুলি সহজে ধরতে পারেন।
এখানে Exception Handling এবং File Operations এর একটি বিস্তারিত আলোচনা করা হলো।
Groovy তে Exception Handling Java এর মতোই try
, catch
, finally
ব্লক ব্যবহার করে করা হয়, তবে Groovy তে Exception Handling আরও সহজ এবং সংক্ষিপ্ত।
Groovy তে try-catch
ব্লক দিয়ে সহজেই ত্রুটি ধরা যায়।
try {
def result = 10 / 0 // This will throw an ArithmeticException
} catch (ArithmeticException e) {
println "Caught an exception: ${e.message}" // Output: Caught an exception: / by zero
} finally {
println "This is the finally block, always executed"
}
এখানে, try
ব্লকে একটি শূন্য দিয়ে ভাগ করার কারণে ArithmeticException ঘটবে, এবং তা catch
ব্লক দ্বারা ধরা হবে।
একাধিক ধরনের Exception হ্যান্ডলিং করতে Groovy তে একাধিক catch
ব্লক ব্যবহার করা যেতে পারে।
try {
def result = "abc" as Integer // This will throw a NumberFormatException
} catch (NumberFormatException e) {
println "Caught a number format exception: ${e.message}"
} catch (Exception e) {
println "Caught a general exception: ${e.message}"
} finally {
println "Finally block executed"
}
এখানে, প্রথম catch
ব্লক NumberFormatException
ধরবে এবং যদি অন্য কোনো Exception হয়, তবে দ্বিতীয় catch
ব্লক সেটি ধরবে।
আপনি নিজের কোডে throw
কিওয়ার্ড ব্যবহার করে কাস্টম Exception throw করতে পারেন।
def checkAge(int age) {
if (age < 18) {
throw new IllegalArgumentException("Age must be 18 or above")
} else {
println "Age is valid"
}
}
try {
checkAge(16) // Will throw IllegalArgumentException
} catch (IllegalArgumentException e) {
println "Caught exception: ${e.message}" // Output: Caught exception: Age must be 18 or above
}
এখানে, checkAge
মেথড একটি কাস্টম Exception throw করেছে যদি বয়স ১৮ এর কম হয়।
Groovy তে ফাইল অপারেশন করার জন্য Groovy এর নিজস্ব সহজ টুলস রয়েছে। Groovy তে File I/O এর কাজগুলো যেমন ফাইল পড়া, লেখা, ফাইল চেক করা ইত্যাদি সহজেই করা যায়। Groovy ফাইল ম্যানিপুলেশন Java এর java.io.File
API ব্যবহার করে।
Groovy তে ফাইল পড়া খুবই সহজ। আপনি File
ক্লাসের eachLine
বা readLines()
মেথড ব্যবহার করে ফাইলের লাইন লাইন করে পড়তে পারেন।
// Using eachLine() to read file
def file = new File("example.txt")
file.eachLine { line ->
println line
}
এখানে, eachLine()
মেথড ব্যবহার করে example.txt
ফাইলের প্রতিটি লাইন পড়া হচ্ছে এবং আউটপুট হিসেবে প্রদর্শিত হচ্ছে।
Groovy তে text
বা readLines()
ব্যবহার করে পুরো ফাইল একবারে পড়া যায়।
// Using text to read the entire file
def content = new File("example.txt").text
println content
এখানে, text
মেথড দিয়ে ফাইলের সমস্ত কন্টেন্ট একবারে পড়া হচ্ছে।
Groovy তে একটি ফাইলে লেখা খুবই সহজ। আপনি File
ক্লাসের write()
অথবা append()
মেথড ব্যবহার করতে পারেন।
// Writing to a file (overwrites the content)
new File("output.txt").write("This is a test content.")
// Appending to a file (adds content to the end)
new File("output.txt").append("\nAppending new content.")
এখানে, প্রথমে write()
মেথড ব্যবহার করে output.txt
ফাইলে নতুন কন্টেন্ট লেখা হচ্ছে, এবং পরবর্তীতে append()
মেথড ব্যবহার করে নতুন কন্টেন্ট যোগ করা হচ্ছে।
Groovy তে একটি ফাইলের অস্তিত্ব চেক করতে exists()
মেথড ব্যবহার করা হয়।
def file = new File("example.txt")
if (file.exists()) {
println "File exists"
} else {
println "File does not exist"
}
এখানে, exists()
মেথড ব্যবহার করে ফাইলটির অস্তিত্ব পরীক্ষা করা হচ্ছে।
ফাইল অপারেশন করার সময় আপনি ত্রুটি বা এক্সসেপশন হ্যান্ডলিং ব্যবহার করতে পারেন, যেমন ফাইল না পাওয়া, পাথের সমস্যা, বা লিখতে গিয়ে ত্রুটি ইত্যাদি। Groovy তে আপনি ফাইল অপারেশনের সময় IOException বা FileNotFoundException এর মতো এক্সসেপশন ধরা যায়।
try {
def file = new File("non_existent_file.txt")
file.eachLine { line ->
println line
}
} catch (FileNotFoundException e) {
println "File not found: ${e.message}"
} catch (IOException e) {
println "IO Error: ${e.message}"
} finally {
println "Finished file operations"
}
এখানে, যদি ফাইল পাওয়া না যায়, তাহলে FileNotFoundException
ত্রুটি ধরা হবে, এবং অন্য কোন I/O সমস্যা হলে IOException
ধরা হবে।
try {
new File("output.txt").write("Writing to file.")
println "File written successfully."
} catch (IOException e) {
println "Error writing to file: ${e.message}"
}
এখানে, ফাইল লেখার সময় যদি কোনো I/O ত্রুটি ঘটে, তবে IOException
ধরা হবে এবং ব্যবহারকারীকে জানানো হবে।
Groovy তে Exception Handling এবং File Operations একসাথে ব্যবহার করা সহজ এবং কার্যকরী। Groovy তে ফাইল পড়া, লেখা, চেক করা এবং Exception Handling করার জন্য সহজ সিনট্যাক্স প্রদান করা হয়। আপনি File
ক্লাস এবং Groovy এর ফিচার যেমন eachLine()
, write()
, append()
ইত্যাদি ব্যবহার করে ফাইল অপারেশন করতে পারেন। এছাড়া, ত্রুটি হ্যান্ডলিংয়ের জন্য try-catch-finally
ব্লক ব্যবহার করা হয়, যা ফাইল অপারেশনের সময় যেকোনো ধরনের ত্রুটি ধরতে সহায়তা করে। Groovy তে Exception Handling ফাইল পরিচালনার জন্য গুরুত্বপূর্ণ এবং কার্যকরী অংশ।
common.read_more